package Guigu10.ToString;

import java.sql.Date;

/*
 * Object类中toString的使用：
 * 
 * 1、当我们输出一个对象的引用时，实际上就是调用当前对象的toString()
 * 
 * 2、Object类中toString()的定义：
 *    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
 * 
 * 3、像String、Date、File、包装类等都重写了Object类中的toString()方法。
 * 使得在调用对象的toString()时，返回“实体内容”信息
 * 
 * 4、自定义类也可以重写toString()方法，当调用此方法时，返回对象的“实体内容”
 * 
 * 5、除了手动实现equals和toString,都可以调用系统的。
 */
public class ToStringTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Customers cust = new Customers("Tom",21);
		System.out.println(cust.toString());//MethodArgs.Customers@6f2b958e
		System.out.println(cust);//MethodArgs.Customers@6f2b958e
		
		String str = new String("MM");
		System.out.println(str);//MM
		
		Date date = new Date(1248322154L);
		System.out.println(date.toString());//1970-01-15
	}

}

class Customers
{
	String name;
	int age;
	
	
	public Customers(String name, int age) {
		this.name = name;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "Customer[name = "+name+",age = "+age+"]";
	}
	
}